package org.dromara.llm.domain.vo;

import org.dromara.llm.domain.SysLlmConfig;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 系统模型配置视图对象 sys_llm_config
 *
 * @author Miles Meng
 * @date 2025-06-25
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysLlmConfig.class)
public class SysLlmConfigVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 配置ID主键
     */
    @ExcelProperty(value = "配置ID主键")
    private Long id;

    /**
     * 配置类型(llm, stt, tts等)
     */
    @ExcelProperty(value = "配置类型(llm, stt, tts等)")
    private String configType;
    /**
     * 用户类型(appuser, sysuser)
     */
    @ExcelProperty(value = "用户类型(app,sys等)")
    private String userType;
    /**
     * 服务提供商
     */
    @ExcelProperty(value = "服务提供商")
    private String provider;

    /**
     * 配置名称
     */
    @ExcelProperty(value = "配置名称")
    private String configName;

    /**
     * 配置描述
     */
    @ExcelProperty(value = "配置描述")
    private String configDesc;

    /**
     * APPID
     */
    @ExcelProperty(value = "APPID")
    private String appId;

    /**
     * API密钥
     */
    @ExcelProperty(value = "API密钥")
    private String apiKey;

    /**
     * API密钥
     */
    @ExcelProperty(value = "API密钥")
    private String apiSecret;

    /**
     * Access Key
     */
    @ExcelProperty(value = "Access Key")
    private String ak;

    /**
     * Secret Key
     */
    @ExcelProperty(value = "Secret Key")
    private String sk;

    /**
     * API地址
     */
    @ExcelProperty(value = "API地址")
    private String apiUrl;

    /**
     * 是否为默认配置
     */
    @ExcelProperty(value = "是否为默认配置")
    private String isDefault;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态")
    private String state;


}
